Data networks include network nodes, such as routers, switches, bridges, and other devices that transport data through the network. Software defined networks (SDN) include network technology that provides customization and optimization not often available with traditional network management. Networks, such as data center networks, enterprise networks, and carrier networks, may include one or more SDNs.
An SDN simplifies modern networks by decoupling the data-forwarding capability (e.g. a data plane) from routing, resource, and other management functionality (e.g. a control plane) previously performed in the network nodes. Network nodes that support software-defined networking may be configured to implement the data plane functions, while the control plane functions may be provided by an SDN controller. Open application programming interface (API) services, such as the OpenFlow protocol, may manage the interactions between the data plane and control plane and allow for the implementation of non-vendor specific combinations of networking nodes and SDN controllers within a network. As a result, software-defined networking in conjunction with an Open API service may provide numerous benefits to modern networks that include increased network virtualization, flexible control and utilization of the network, and customization of networks with specific requirements.
While SDNs provide many advantages over traditional network management options, they can also present challenges. An SDN controller typically controls and manages control plane functions for many distributed network nodes. Each node may have a particular set of devices, connections to other nodes in the network, and control and management capabilities.